<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bonobo-moniker-util</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Libbonobo Reference Manual">
<link rel="up" href="monikers.html" title="Monikers">
<link rel="prev" href="libbonobo-bonobo-moniker-simple.html" title="BonoboMonikerSimple">
<link rel="next" href="libbonobo-bonobo-moniker-extender.html" title="BonoboMonikerExtender">
<meta name="generator" content="GTK-Doc V1.15.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libbonobo-bonobo-moniker-simple.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="monikers.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Libbonobo Reference Manual</th>
<td><a accesskey="n" href="libbonobo-bonobo-moniker-extender.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libbonobo-bonobo-moniker-util.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libbonobo-bonobo-moniker-util.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="libbonobo-bonobo-moniker-util"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libbonobo-bonobo-moniker-util.top_of_page"></a>bonobo-moniker-util</span></h2>
<p>bonobo-moniker-util — Object activation and construction through monikers.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="libbonobo-bonobo-moniker-util.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis"><span class="returnvalue">Bonobo_Unknown</span>      <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-get-object" title="bonobo_get_object ()">bonobo_get_object</a>                   (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<span class="returnvalue">Bonobo_Moniker</span>      <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-client-new-from-name" title="bonobo_moniker_client_new_from_name ()">bonobo_moniker_client_new_from_name</a> (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<span class="returnvalue">CORBA_char</span> *        <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-client-get-name" title="bonobo_moniker_client_get_name ()">bonobo_moniker_client_get_name</a>      (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<span class="returnvalue">Bonobo_Unknown</span>      <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-client-resolve-default" title="bonobo_moniker_client_resolve_default ()">bonobo_moniker_client_resolve_default</a>
                                                        (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-client-equal" title="bonobo_moniker_client_equal ()">bonobo_moniker_client_equal</a>         (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<span class="returnvalue">void</span>                (<a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()">*BonoboMonikerAsyncFn</a>)             (<em class="parameter"><code><span class="type">Bonobo_Unknown</span> object</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-get-object-async" title="bonobo_get_object_async ()">bonobo_get_object_async</a>             (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-client-new-from-name-async" title="bonobo_moniker_client_new_from_name_async ()">bonobo_moniker_client_new_from_name_async</a>
                                                        (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-resolve-async" title="bonobo_moniker_resolve_async ()">bonobo_moniker_resolve_async</a>        (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">Bonobo_ResolveOptions</span> *options</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-resolve-async-default" title="bonobo_moniker_resolve_async_default ()">bonobo_moniker_resolve_async_default</a>
                                                        (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">CORBA_char</span> *        <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-util-get-parent-name" title="bonobo_moniker_util_get_parent_name ()">bonobo_moniker_util_get_parent_name</a> (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);
<span class="returnvalue">Bonobo_Unknown</span>      <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-util-qi-return" title="bonobo_moniker_util_qi_return ()">bonobo_moniker_util_qi_return</a>       (<em class="parameter"><code><span class="type">Bonobo_Unknown</span> object</code></em>,
                                                         <em class="parameter"><code>const <span class="type">CORBA_char</span> *requested_interface</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-util-parse-name" title="bonobo_moniker_util_parse_name ()">bonobo_moniker_util_parse_name</a>      (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> *plen</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-util-seek-std-separator" title="bonobo_moniker_util_seek_std_separator ()">bonobo_moniker_util_seek_std_separator</a>
                                                        (<em class="parameter"><code>const <span class="type">CORBA_char</span> *str</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> min_idx</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-util-escape" title="bonobo_moniker_util_escape ()">bonobo_moniker_util_escape</a>          (<em class="parameter"><code>const <span class="type">char</span> *string</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> offset</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-moniker-util-unescape" title="bonobo_moniker_util_unescape ()">bonobo_moniker_util_unescape</a>        (<em class="parameter"><code>const <span class="type">char</span> *string</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> num_chars</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-url-register" title="bonobo_url_register ()">bonobo_url_register</a>                 (<em class="parameter"><code><span class="type">char</span> *oafiid</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *url</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *mime_type</code></em>,
                                                         <em class="parameter"><code><span class="type">Bonobo_Unknown</span> object</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-url-unregister" title="bonobo_url_unregister ()">bonobo_url_unregister</a>               (<em class="parameter"><code><span class="type">char</span> *oafiid</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *url</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);
<span class="returnvalue">Bonobo_Unknown</span>      <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-url-lookup" title="bonobo_url_lookup ()">bonobo_url_lookup</a>                   (<em class="parameter"><code><span class="type">char</span> *oafiid</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *url</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="libbonobo-bonobo-moniker-util.description"></a><h2>Description</h2>
<p>
The moniker utility functions provide two sets of functions:
  </p>
<div class="itemizedlist"><ul class="itemizedlist" type="disc">
<li class="listitem"><p>
      Helper functions for constructing and resolving monikers,
      and a simple get_object method that constructs and resolves
      against an interface in a single pass. Also, asynchronous
      versions of these methods are provided using the <span class="type">BonoboAsync</span>
      code.
      </p></li>
<li class="listitem"><p>
      Helper functions for the implementation of new custom
      monikers are also provided here, along with a lot of the
      grunt code neccessary for moniker implementation, particularly
      constructing the chained list of sub-monikers that comprises
      a complex moniker.
      </p></li>
</ul></div>
<p>
</p>
<p>
The most useful function to get a feel for what monikers can do
is the <code class="function">bonobo_get_object</code> method. This is
used to create a moniker and resolve it against a given interface
like this:
  </p>
<div class="example">
<a name="id3158350"></a><p class="title"><b>Example 17. GetObject example</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="normal">GtkWidget </span><span class="symbol">*</span>
<span class="function">moniker_resolve_demo</span><span class="normal"> </span><span class="symbol">(</span><span class="type">void</span><span class="symbol">)</span>
<span class="cbracket">{</span>
<span class="normal">    </span><span class="usertype">Bonobo_Control</span><span class="normal"> control</span><span class="symbol">;</span>
<span class="normal">    </span><span class="usertype">CORBA_Environment</span><span class="normal"> ev</span><span class="symbol">;</span>
<span class="normal">    </span><span class="function">CORBA_exception_init</span><span class="normal"> </span><span class="symbol">(&amp;</span><span class="normal">ev</span><span class="symbol">);</span>
<span class="normal">    control </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="libbonobo-bonobo-moniker-util.html#bonobo-get-object">bonobo_get_object</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"file:/demo/a.jpeg"</span><span class="symbol">,</span>
<span class="normal">                                     </span><span class="string">"Bonobo/Control"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">control </span><span class="symbol">==</span><span class="normal"> CORBA_OBJECT_NIL</span><span class="symbol">)</span>
<span class="normal">        </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Message-Logging.html#g-error">g_error</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Failed to get object file:/demo/a.jpeg"</span><span class="symbol">);</span>
<span class="normal">    </span><span class="keyword">return</span><span class="normal"> </span><span class="function">bonobo_widget_new_control</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">control</span><span class="symbol">);</span>
<span class="cbracket">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<p><br class="example-break">
  This also makes a control out of the widget.
</p>
<p>
  It is worth noting that when resolving monikers a contracted
version of the interface name may be used, ommitting the 'IDL:'
prefix and / or the ':0' suffix.
</p>
</div>
<div class="refsect1">
<a name="libbonobo-bonobo-moniker-util.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="bonobo-get-object"></a><h3>bonobo_get_object ()</h3>
<pre class="programlisting"><span class="returnvalue">Bonobo_Unknown</span>      bonobo_get_object                   (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
This encapsulates both the parse stage and resolve process of using
a moniker, providing a simple VisualBasic like mechanism for using the
object name space.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the name of a moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interface_name</code></em> :</span></p></td>
<td>the name of the interface we want returned as the result 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>an optional corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the requested interface or CORBA_OBJECT_NIL
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-client-new-from-name"></a><h3>bonobo_moniker_client_new_from_name ()</h3>
<pre class="programlisting"><span class="returnvalue">Bonobo_Moniker</span>      bonobo_moniker_client_new_from_name (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
This routine tries to parse a Moniker in string form
</p>
<p>
eg. file:/tmp/a.tar.gz<span class="type">gzip</span>:<span class="type">tar</span>:
</p>
<p>
into a CORBA_Object representation of this that can
later be resolved against an interface.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the name of a moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>an optional corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a new Moniker handle
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-client-get-name"></a><h3>bonobo_moniker_client_get_name ()</h3>
<pre class="programlisting"><span class="returnvalue">CORBA_char</span> *        bonobo_moniker_client_get_name      (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>a moniker handle
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>a corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the name of the moniker.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-client-resolve-default"></a><h3>bonobo_moniker_client_resolve_default ()</h3>
<pre class="programlisting"><span class="returnvalue">Bonobo_Unknown</span>      bonobo_moniker_client_resolve_default
                                                        (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
This resolves the moniker object against the given interface,
with a default set of resolve options.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>a moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interface_name</code></em> :</span></p></td>
<td>the name of the interface we want returned as the result 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>an optional corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the interfaces resolved to or CORBA_OBJECT_NIL
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-client-equal"></a><h3>bonobo_moniker_client_equal ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            bonobo_moniker_client_equal         (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
Compare a full <em class="parameter"><code>moniker</code></em> with the given <em class="parameter"><code>name</code></em>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>The moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>a moniker name eg. file:/demo/a.jpeg
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>optional CORBA_Environment or NULL.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> TRUE if they are the same
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="BonoboMonikerAsyncFn"></a><h3>BonoboMonikerAsyncFn ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                (*BonoboMonikerAsyncFn)             (<em class="parameter"><code><span class="type">Bonobo_Unknown</span> object</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Callback function, invoked when <a class="link" href="libbonobo-bonobo-moniker-util.html#bonobo-get-object-async" title="bonobo_get_object_async ()"><code class="function">bonobo_get_object_async()</code></a> completes its work.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>the newly-activated object, or <code class="literal">CORBA_OBJECT_NIL</code> if an exception occurred
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>CORBA environment that may contain an exception if an activation error occurred
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-get-object-async"></a><h3>bonobo_get_object_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_get_object_async             (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
An async version of bonobo_get_object
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>interface_name</code></em> :</span></p></td>
<td>the name of the interface we want returned as the result 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>a corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cb</code></em> :</span></p></td>
<td>the async callback that gets the response 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user context data to pass to that callback 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-client-new-from-name-async"></a><h3>bonobo_moniker_client_new_from_name_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_moniker_client_new_from_name_async
                                                        (<em class="parameter"><code>const <span class="type">CORBA_char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
An asynchronous version of new_from_name
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the name
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>a corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cb</code></em> :</span></p></td>
<td>the async callback that gets the response
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user context data to pass to that callback
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-resolve-async"></a><h3>bonobo_moniker_resolve_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_moniker_resolve_async        (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">Bonobo_ResolveOptions</span> *options</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
An async version of bonobo_moniker_client_resolve
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker to resolve
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>options</code></em> :</span></p></td>
<td>resolve options
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interface_name</code></em> :</span></p></td>
<td>the name of the interface we want returned as the result 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>a corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cb</code></em> :</span></p></td>
<td>the async callback that gets the response 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user context data to pass to that callback 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-resolve-async-default"></a><h3>bonobo_moniker_resolve_async_default ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_moniker_resolve_async_default
                                                        (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *interface_name</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>,
                                                         <em class="parameter"><code><a class="link" href="libbonobo-bonobo-moniker-util.html#BonoboMonikerAsyncFn" title="BonoboMonikerAsyncFn ()"><span class="type">BonoboMonikerAsyncFn</span></a> cb</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
An async version of bonobo_moniker_client_resolve_default
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>interface_name</code></em> :</span></p></td>
<td>the name of the interface we want returned as the result 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>a corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>cb</code></em> :</span></p></td>
<td>the async callback that gets the response 
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user context data to pass to that callback 
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-util-get-parent-name"></a><h3>bonobo_moniker_util_get_parent_name ()</h3>
<pre class="programlisting"><span class="returnvalue">CORBA_char</span> *        bonobo_moniker_util_get_parent_name (<em class="parameter"><code><span class="type">Bonobo_Moniker</span> moniker</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *opt_ev</code></em>);</pre>
<p>
This gets the name of the parent moniker ( recursively
all of the parents of this moniker ).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>moniker</code></em> :</span></p></td>
<td>the moniker
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>opt_ev</code></em> :</span></p></td>
<td>an optional corba exception environment
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the name; use CORBA_free to release it.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-util-qi-return"></a><h3>bonobo_moniker_util_qi_return ()</h3>
<pre class="programlisting"><span class="returnvalue">Bonobo_Unknown</span>      bonobo_moniker_util_qi_return       (<em class="parameter"><code><span class="type">Bonobo_Unknown</span> object</code></em>,
                                                         <em class="parameter"><code>const <span class="type">CORBA_char</span> *requested_interface</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);</pre>
<p>
A helper function to share code from the end of a resolve
implementation; this ensures that the returned object is of
the correct interface by doing a queryInterface on the object.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>the unknown to query
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>requested_interface</code></em> :</span></p></td>
<td>the desired interface
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>a corba exception environment 
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> an handle to the requested interface
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-util-parse-name"></a><h3>bonobo_moniker_util_parse_name ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        bonobo_moniker_util_parse_name      (<em class="parameter"><code>const <span class="type">char</span> *name</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> *plen</code></em>);</pre>
<p>
This routine finds the rightmost moniker name. For example
it will return "cache:" if you pass in "file:/tmp.txt<span class="type">cache</span>:". It will 
also store the length of the parent string in <em class="parameter"><code>plen</code></em> (13 for the above 
example)
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>a moniker name
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>plen</code></em> :</span></p></td>
<td>an optional pointer to store the parent length
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the name of the rightmost moniker
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-util-seek-std-separator"></a><h3>bonobo_moniker_util_seek_std_separator ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 bonobo_moniker_util_seek_std_separator
                                                        (<em class="parameter"><code>const <span class="type">CORBA_char</span> *str</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> min_idx</code></em>);</pre>
<p>
This looks for a moniker separator in a moniker's name string.
</p>
<p>
 See also bonobo_moniker_util_escape
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>str</code></em> :</span></p></td>
<td>the string to scan
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>min_idx</code></em> :</span></p></td>
<td>the minimum offset at which a separator can be found.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the position of the separator, or a
pointer to the end of the string.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-util-escape"></a><h3>bonobo_moniker_util_escape ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              bonobo_moniker_util_escape          (<em class="parameter"><code>const <span class="type">char</span> *string</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> offset</code></em>);</pre>
<p>
Escapes possible separator characters inside a moniker
these include '!' and '#', the '\' escaping character is
used.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
<td>an unescaped string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>offset</code></em> :</span></p></td>
<td>an offset of characters to ignore
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> an escaped sub-string.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-moniker-util-unescape"></a><h3>bonobo_moniker_util_unescape ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              bonobo_moniker_util_unescape        (<em class="parameter"><code>const <span class="type">char</span> *string</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> num_chars</code></em>);</pre>
<p>
This routine strips <em class="parameter"><code>num_chars</code></em>: from the start of
<em class="parameter"><code>string</code></em>, discards the rest, and proceeds to un-escape
characters escaped with '\'.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>string</code></em> :</span></p></td>
<td>a string
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>num_chars</code></em> :</span></p></td>
<td>the number of chars to process.
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the unescaped sub string.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-url-register"></a><h3>bonobo_url_register ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_url_register                 (<em class="parameter"><code><span class="type">char</span> *oafiid</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *url</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *mime_type</code></em>,
                                                         <em class="parameter"><code><span class="type">Bonobo_Unknown</span> object</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>oafiid</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>url</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mime_type</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>object</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-url-unregister"></a><h3>bonobo_url_unregister ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                bonobo_url_unregister               (<em class="parameter"><code><span class="type">char</span> *oafiid</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *url</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>oafiid</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>url</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="bonobo-url-lookup"></a><h3>bonobo_url_lookup ()</h3>
<pre class="programlisting"><span class="returnvalue">Bonobo_Unknown</span>      bonobo_url_lookup                   (<em class="parameter"><code><span class="type">char</span> *oafiid</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> *url</code></em>,
                                                         <em class="parameter"><code><span class="type">CORBA_Environment</span> *ev</code></em>);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>oafiid</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>url</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ev</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15.1</div>
</body>
</html>